home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol001 / longterm.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-11  |  17.3 KB  |  340 lines

  1. 1 'LONGTERM.BAS ....Enhancements to IBM Async. Comm.   V1.02   (96KB)  4/24/82
  2. 2 'By Robert C. Rice, Upload/Download based on a program by Morris E. Thompson
  3. 3 'Async. Comm. Support       Version 1.00        (C) Copywright IBM Corp 1981
  4. 115 DEF SEG=&H1700
  5. 200 CLEAR
  6. 210 IDSEG=&H1700
  7. 223 IF LEFT$(TIME$,4)="00:0" THEN NTME=TRUE ELSE NTME=FALSE
  8. 330 DIM ERM$(21) 'error msg array
  9. 400 DIM TRMNL$(ICN+1)
  10. 410 TRMNL$(1)="IBM VM/370"
  11. 420 TRMNL$(2)="IBM MVS TSO"
  12. 430 TRMNL$(3)="Half Duplex"
  13. 440 TRMNL$(4)="Full Duplex"
  14. 450 TRMNL$(5)="PC Computer"
  15. 460 TRMNL$(6)="User Defined"
  16. 605 DATA 1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0
  17. 615 DATA 1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0
  18. 625 DATA 1,1,1,0,0,0,1,1,0,1,1,1,0,0,1,1,1,0,0,0
  19. 635 DATA 1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0
  20. 645 DATA 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0
  21. 745 DATA 4,4,1,0,1,0,1,2,0,3,6,1,0,1,1,0,1,0,0,0
  22. 755 DATA 4,4,1,0,2,2,1,0,1,2,5,6,0,2,5,0,1,0,0,0
  23. 765 DATA 4,4,1,0,1,0,1,2,0,3,6,1,0,0,1,0,1,0,0,0
  24. 775 DATA 4,3,1,0,2,1,1,0,2,2,3,7,0,0,1,0,1,0,0,0
  25. 781 DATA 4,3,1,0,2,1,1,0,1,1,1,1,0,3,1,0,1,0,0,0
  26. 866 NA$(16)="Select Display"
  27. 867 NA$(17)="Select Modem Dial Option"
  28. 937 VDO=40:DEF SEG=0:IF(PEEK(&H410)AND &H30)=&H30 THEN IWT=80 ELSE IWT=VDO
  29. 938 WIDTH IWT:LOCATE 10,1,0:IF IWT=80 THEN S1PC=INT(IWT/4)+2 ELSE S1PC=1
  30. 939 PRINT SPC(S1PC):PRINT"       The IBM Personal Computer"
  31. 940 PRINT SPC(S1PC):PRINT"  Asynchronous Communications Support"
  32. 941 PRINT SPC(S1PC):PRINT"This 96KB Version Modified and Enhanced"
  33. 942 PRINT SPC(S1PC):PRINT"           by Robert C. Rice"
  34. 943 PRINT SPC(S1PC):PRINT"   Upload/Download based on a program"
  35. 944 PRINT SPC(S1PC):PRINT"         by Morris E. Thompson"
  36. 945 PRINT:PRINT
  37. 949 IF IWT=80 THEN S2PC=INT(IWT/4)+6 ELSE S2PC=5
  38. 950 COLOR 15,0:LOCATE ,S2PC
  39. 960 PRINT "Bypass intermediate menus (y/n)?";:COLOR 7,0
  40. 961 K$=INKEY$:IF K$="" THEN 961
  41. 965 IF K$="y" OR K$="Y" THEN OP1T=1:GOTO 970
  42. 966 IF K$="n" OR K$="N" THEN OP1T=0 ELSE GOSUB 20400:GOTO 961
  43. 1050 IF OP1T=0 THEN GOSUB 20200 ELSE IMEN=4:GOTO 1065
  44. 1066 TMSL$=TRMNL$(IMEN)
  45. 1170 TITLE$=TMSL$+" Terminal Feature"
  46. 1185 IF OP1T=0 THEN GOSUB 20200 ELSE IMEN=IMAX-2:GOTO 1500
  47. 1520 ON IP GOSUB 6000,6200,6400,9000,6800,7000,7200,7400,7500,7600,7625,7660,9000,9000,7800,7900,8000,9000,9000,9000
  48. 1800 GOSUB 35000 'Init. Term. Operation
  49. 1811 BKS$=CHR$(8):ENDD$=CHR$(79):HMNU$=CHR$(35):SMART=TRUE
  50. 1812 SNRC$=CHR$(31):HELP$=CHR$(63):IDSW$=CHR$(64):PRSW$=CHR$(65):LGSW$=CHR$(68)
  51. 1813 PLMX$=CHR$(25):UPSW$=CHR$(67):DIAL$=CHR$(66):HOME$=CHR$(71):BCSR$=CHR$(75)
  52. 1820 IDPR=FALSE:IPRR=FALSE:IPY=FALSE:LON=FALSE:ULON=FALSE:INIT=TRUE
  53. 2005 D%=512+ASC(BKS$):CALL SS(C%,T%,D%,E%)
  54. 2024 ISS=5:DTA%=1:T%=7:GOSUB 15000:GOSUB 2788
  55. 2025 PRINT"Starting up as a "+TMSL$+" Terminal"
  56. 2027 X=FRE("x"):PRINT:GOSUB 31000:GOSUB 31130
  57. 2480 LOCATE 25,IWT-17,0:PRINT"F5=HELP RECEIVING";:LOCATE 24,1,1
  58. 2531 IF LG THEN GOSUB 17310
  59. 2551 IF K$=PLMX$ OR K$=DIAL$ OR K$=LGSW$ OR K$=UPSW$ GOTO 2552 ELSE GOTO 2553
  60. 2552 E%=0:ERM$(0)="Must be SENDING to use that key":GOSUB 3600:GOTO 2500
  61. 2553 IF K$<>PRSW$ GOTO 2555
  62. 2554 IF IPRR THEN IPRR=FALSE:PTR$=" " ELSE IPRR=TRUE:PTR$="P"
  63. 2555 IF K$=GOMEN$ GOTO 2800
  64. 2556 IF K$=HELP$ THEN GOSUB 31000 ELSE IF K$=HMNU$ GOTO 2552
  65. 2602 ITEM=POS(X):LOCATE 25,IWT-17,0
  66. 2603 PRINT "F5=HELP   SENDING";
  67. 2710 CALL BR(C%,E%):PRINT "Break Sent"
  68. 2712 ON ERROR GOTO 3440:IF IPRR THEN LPRINT "Break Sent"
  69. 2713 ON ERROR GOTO 0
  70. 2751 IF K$=HOME$ THEN INIT=TRUE:LGGR=0:RETURN
  71. 2752 IF K$=BCSR$ THEN IF LGGR>0 THEN LGGR=LGGR-1:RETURN ELSE RETURN
  72. 2753 IF K$=ENDD$ THEN INIT=FALSE:LGGR=4:RETURN
  73. 2754 IF K$=HMNU$ THEN GOSUB 32580:RETURN
  74. 2755 IF K$=PLMX$ THEN PRINT "Max. Receive Buffer Space Used = ";LM:LM=0:RETURN
  75. 2756 IF K$<>LGSW$ THEN 2760
  76. 2757 E%=0:IF NOT LG THEN ERM$(0)="Logging File Not Open":GOSUB 3600:RETURN
  77. 2758 DNTSY=7:IF LON THEN LON=FALSE ELSE LON=TRUE:DNTSY=31
  78. 2759 GOSUB 33010:RETURN
  79. 2761 IF K$<>UPSW$ THEN 2765
  80. 2762 IF NOT IU THEN GOSUB 17520:RETURN
  81. 2763 UNTSY=7:IF ULON THEN ULON=FALSE ELSE ULON=TRUE:UNTSY=31
  82. 2764 GOSUB 33010:RETURN
  83. 2766 IF K$=HELP$ THEN GOSUB 31000:RETURN
  84. 2768 IF K$=DIAL$ AND INIT THEN GOSUB 32000:RETURN
  85. 2769 IF K$=DIAL$ AND NOT INIT THEN GOSUB 32420:RETURN
  86. 2775 IF IDPR THEN IDPR=FALSE :HXL$=" " ELSE IDPR=TRUE:HXL$="H"
  87. 2776 GOSUB 33010:RETURN
  88. 2783 IF IPRR THEN IPRR=FALSE ELSE IPRR=TRUE
  89. 2784 PTR$=" ":IF IPRR THEN PTR$="P"
  90. 2785 GOSUB 33010:RETURN
  91. 2803 IMAX=12:IT=MPARM(14)
  92. 2808 C$(3)="Return to BASIC (pause)"
  93. 2809 IF LG THEN C$(4)="Close log file: "+LG$ ELSE C$(4)="Open log file"
  94. 2810 IF IU THEN C$(5)="Close upload file: "+UP$ ELSE C$(5)="Open upload file"
  95. 2811 C$(6)="Terminate Comm. go to BASIC"
  96. 2812 C$(7)="Terminate Comm. go to DOS"
  97. 2813 IF IT=0 THEN IMAX=7:GOTO 2835
  98. 2814 C$(8)="Upload   (VM/370,TSO)"
  99. 2815 C$(9)="Download (VM/370,TSO)"
  100. 2820 C$(10)="Compare  (VM/370,TSO)"
  101. 2822 IF IT<3 THEN IMAX=10:GOTO 2835
  102. 2825 C$(11)="Transmit a Personal Computer File"
  103. 2830 C$(12)="Receive  a Personal Computer File"
  104. 2843 IF IMEN>7 AND IMEN<11 AND IT=3 THEN PRINT "Not Used between Personal Computers":GOTO 13370
  105. 2844 IF IMEN=2 THEN OP1T=0
  106. 2845 ON IMEN GOTO 3400,970,3430,17200,17410,34000,34010,14000,13000,13050,16200,16500
  107. 3100 ON ERROR GOTO 3440:IF IPRR THEN LPRINT B$;
  108. 3101 ON ERROR GOTO 0
  109. 3400 GOSUB 13030:IF JO THEN CALL SN(C%,XON$,E%)
  110. 3405 PRINT "Back as a "+TMSL$+" Terminal":IF MPARM(5)=1 GOTO 2601 ELSE GOTO 5000
  111. 3430 CLS:PRINT "You are back in BASIC."
  112. 3432 PRINT "Use F5 to return to Terminal Operation":KEY 5,"CONT"+CHR$(13):STOP
  113. 3435 KEY 5,"":GOTO 2800
  114. 3440 IF ERR=24 OR ERR=27 THEN 3445 ELSE 3450
  115. 3445 PTR$=" ":IPRR=FALSE:GOSUB 3540:E%=20:GOSUB 3600:GOSUB 33010:RESUME
  116. 3450 ON ERROR GOTO 0
  117. 3540 ERM$(20)="ERROR ="+STR$(ERR)+" ** Printer off"
  118. 3544 RETURN
  119. 3815 PRINT STRING$(40," ");
  120. 3825 PRINT STRING$(40," ");:LOCATE ,2:PRINT MSTK$(ICMP);
  121. 3955 IF (D% AND 4)>0 THEN E%=16:RETURN
  122. 5002 TERM$=LE$:TME=61
  123. 5106 IF RIGHT$(B$,1)<>BKS$ THEN 5110
  124. 5107 IF LEN(B$)>1 THEN B$=LEFT$(B$,LEN(B$)-2) ELSE GOSUB 2720:GOTO 5200
  125. 5110 IF LL<>IWT OR B$<>CR$ THEN PRINT B$;ELSE 5200
  126. 5113 ON ERROR GOTO 3440
  127. 5115 IF IPRR THEN LPRINT B$;
  128. 5116 ON ERROR GOTO 0
  129. 5200 GOSUB 33000:GOSUB 2590
  130. 5201 IF NOT IU GOTO 5205
  131. 5202 IF ULON THEN IF ISF THEN GOSUB 17510
  132. 5215 GOSUB 2750:IF K$=GOMEN$ GOTO 5290 ELSE GOTO 5030
  133. 5265 ON ERROR GOTO 3440:IF IPRR THEN LPRINT K$;
  134. 5266 ON ERROR GOTO 0
  135. 5290 IF JO THEN CALL SN(C%,XOFF$,E%)
  136. 5300 GOTO 2800
  137. 7900 'Menu for Display selection
  138. 7910 TITLE$="Display"
  139. 7920 C$(1)="Monochrome Display"
  140. 7930 C$(2)="Color Video Monitor"
  141. 7940 IMAX=2
  142. 7950 GOSUB 20200
  143. 7960 GOSUB 20100
  144. 7970 RETURN
  145. 8000 'Menu for Modem dial Option
  146. 8010 TITLE$="Type of Modem Dialing"
  147. 8020 C$(1)="Touch Tone"
  148. 8030 C$(2)="Pulse Dialing"
  149. 8040 IMAX=2
  150. 8050 GOSUB 20200
  151. 8060 GOSUB 20100
  152. 8070 RETURN
  153. 17200 IF LG THEN CLOSE#3:LG$="":LG=FALSE:DLN$=" ":GOTO 2800
  154. 17210 CLS:GOSUB 17660:PRINT "What is the name of the local file "
  155. 17220 PRINT "to which you wish to log?":PRINT "(ENTER alone returns to Menu)"
  156. 17230 INPUT X$:IF X$="" THEN 2800
  157. 17240 GOSUB 20300:LG$=Y$:ON ERROR GOTO 17260
  158. 17250 OPEN LG$ FOR APPEND AS 3:M$="":GOTO 17290
  159. 17260 IF ERR=67 THEN M$="Too many files open":GOTO 17280
  160. 17270 M$="FILE ACCESS FAILED. BASIC ERROR "+STR$(ERR)
  161. 17280 RESUME 17290
  162. 17290 ON ERROR GOTO 0:IF M$ <> "" THEN GOSUB 14032:GOTO 17230
  163. 17300 DLN$="L":DNTSY=31:LG=TRUE:LON=TRUE:GOTO 2800
  164. 17310 ON ERROR GOTO 17370
  165. 17320 IF NOT LON GOTO 17400 ELSE IF (LEN(LL$)+LEN(B$))<=255 GOTO 17350
  166. 17330 LLN=LEN(LL$):LL$=LL$+LEFT$(B$,255-LLN):PRINT#3,LL$
  167. 17340 LL$="":B$=RIGHT$(B$,LEN(B$)-255-LLN))
  168. 17350 LL$=LL$+B$:IF R$<>CR$ AND R$<>LE$ GOTO 17400
  169. 17360 PRINT#3,LEFT$(LL$,LEN(LL$)-1):LL$="":GOTO 17400
  170. 17370 IF ERR=61 THEN ERM$(0)="Disk full, Log file closed":GOTO 17390
  171. 17380 ERM$(0)="Disk Error, BASIC Err= "+STR$(ERR)
  172. 17390 E%=0:GOSUB 3600:LG=FALSE:LON=FALSE:DLN$=" ":GOSUB 33010:RESUME NEXT
  173. 17400 ON ERROR GOTO 0:RETURN
  174. 17405 'Upload
  175. 17410 IF IU THEN CLOSE#1:UP$="":IU=FALSE:ULON=FALSE:ULN$=" ":GOTO 2800
  176. 17420 CLS:GOSUB 17660:PRINT "What is the name of the local file "
  177. 17430 PRINT "which you wish to upload?":PRINT "(ENTER alone returns to Menu)"
  178. 17440 INPUT X$:IF X$="" THEN 2800 ELSE GOSUB 20300:LET UP$=Y$
  179. 17450 ON ERROR GOTO 17460:OPEN "I",1,UP$:M$="":GOTO 17490
  180. 17460 IF ERR=53 THEN M$="File "+UP$+" not found":GOTO 17480
  181. 17470 M$="File access failed. BASIC error "+STR$(ERR)
  182. 17480 RESUME 17490
  183. 17490 ON ERROR GOTO 0:IF M$<>"" THEN GOSUB 14032:GOTO 17440
  184. 17500 IU=TRUE:UNTSY=7:ULN$="U":ULON=FALSE:GOTO 2800
  185. 17510 T%=1:CALL BF(C%,T%,D%,E%):IF D%<>0 THEN RETURN
  186. 17520 IF NOT IU THEN ERM$(0)="Upload not active":E%=0:GOSUB 3600:RETURN
  187. 17530 IF EOF(1) THEN CLOSE#1:ERM$(0)="Upload complete, file closed" ELSE 17550
  188. 17540 E%=0:GOSUB 3600:IU=FALSE:ULON=FALSE:ULN$=" ":GOSUB 33010:UP$="":RETURN
  189. 17550 ON ERROR GOTO 17620:IF UL$="" THEN LINE INPUT#1,UL$:ON ERROR GOTO 0
  190. 17560 IF ILE THEN PRINT UL$
  191. 17570 ON ERROR GOTO 3440:IF IPRR THEN LPRINT UL$
  192. 17580 ON ERROR GOTO 0
  193. 17590 CALL SN(C%,UL$,E%):IF E%>-1 THEN GOSUB 3600
  194. 17600 CALL SN(C%,TSEND$,E%):IF E%>-1 THEN GOSUB 3600
  195. 17610 UL$="":RETURN
  196. 17620 CLOSE#1:UP$="":IU=FALSE:ULON=FALSE:ULN$=" ":GOSUB 33010:E%=0
  197. 17630 ERM$(0)="Disk Error, BASIC Err= "+STR$(ERR):GOSUB 3600:RESUME 17640
  198. 17640 ON ERROR GOTO 0:RETURN
  199. 17650 'Print files
  200. 17660 PRINT"If you wish a list of files,":PRINT"enter the drive designator(s),"
  201. 17670 PRINT "NO colons, or separators":PRINT "(ENTER alone to bypass)"
  202. 17680 INPUT "",DRV$:LDRV=LEN(DRV$):IF LDRV>2 THEN GOSUB 20400:GOTO 17660
  203. 17690 IF LDRV=0 GOTO 17740
  204. 17700 IF LDRV=1 THEN DR1$=DRV$ ELSE DR1$=LEFT$(DRV$,1):DR2$=RIGHT$(DRV$,1)
  205. 17710 ON ERROR GOTO 17750:FL1CK$=DR1$+":*.*":FL2CK$=DR2$+":*.*"
  206. 17720 CLS:PRINT "Drive ";DR1$:FILES FL1CK$:PRINT :PRINT
  207. 17730 IF LDRV=2 THEN PRINT "Drive ";DR2$:FILES FL2CK$:PRINT:PRINT
  208. 17740 ON ERROR GOTO 0:RETURN
  209. 17750 IF (ERL=17720)AND(ERR=53) THEN BEEP ELSE 17770
  210. 17760 CLS:PRINT"No files found":RESUME 17660
  211. 17770 IF (ERL=17720)AND(ERR=71) THEN BEEP ELSE 17790
  212. 17780 PRINT"Drive "+DR1$+" not ready":PRINT:RESUME 17660
  213. 17790 IF ERL=17720 THEN BEEP:PRINT "BASIC Error "+STR$(ERR):PRINT:RESUME 17730
  214. 17800 IF ERR=53 THEN BEEP ELSE 17820
  215. 17810 PRINT"No files found":PRINT:RESUME 17660
  216. 17820 IF ERR=71 THEN BEEP:PRINT"Drive "+DR2$+" not ready":RESUME 17660
  217. 17830 BEEP:PRINT "BASIC Error "+STR$(ERR):RESUME NEXT
  218. 30640 'Function key Help Menu
  219. 31000 COLOR 15:PRINT "F1 ";:COLOR 7:PRINT "- Send Break to Host"
  220. 31010 COLOR 15:PRINT "F2 ";:COLOR 7:PRINT "- Function Selection Menu"
  221. 31020 COLOR 15:PRINT "F3 ";:COLOR 7:PRINT "- Display Next Error Msg."
  222. 31030 COLOR 15:PRINT "F4 ";:COLOR 7:PRINT "- Error ON/OFF Switch"
  223. 31040 COLOR 15:PRINT "F5 ";:COLOR 7:PRINT "- Display Function Key Menu"
  224. 31050 COLOR 15:PRINT "F6 ";:COLOR 7:PRINT "- Hex Listing ON/OFF Switch"
  225. 31060 COLOR 15:PRINT "F7 ";:COLOR 7:PRINT "- Printer ON/OFF Switch"
  226. 31070 COLOR 15:PRINT "F8 ";:COLOR 7:PRINT "- Telephone/LOG-ON Menu"
  227. 31080 COLOR 15:PRINT "F9 ";:COLOR 7:PRINT "- Upload ON/OFF Switch"
  228. 31090 COLOR 15:PRINT "F10";:COLOR 7:PRINT "- Log File ON/OFF Switch"
  229. 31100 COLOR 15:PRINT "ALT H ";:COLOR 7:PRINT "- Telephone/LOG-ON Help Menu"
  230. 31110 COLOR 15:PRINT "ALT P ";:COLOR 7:PRINT "- Print Max.Rec.Buf.Used"
  231. 31115 COLOR 15:PRINT "ALT S ";:COLOR 7:PRINT "- Force to Send (Half Duplex)"
  232. 31116 IF MPARM(5)=2 GOTO 31120 ELSE PRINT"Depress ";:COLOR 15:PRINT"ALT S";
  233. 31117 COLOR 7:PRINT" before using ";:COLOR 15:PRINT"F6, F8-F10":COLOR 7
  234. 31120 PRINT:RETURN
  235. 31130 IF NOT SMART GOTO 31150
  236. 31140 PRINT "Insure ";:COLOR 15 :PRINT "CAPS LOCK ";:COLOR 7:PRINT"is on"
  237. 31150 PRINT "Depress ";:COLOR 15:PRINT "F2 ";:COLOR 7:PRINT "to open ";
  238. 31160 COLOR 15:PRINT "Log/Upload ";:COLOR 7:PRINT "files"
  239. 31170 PRINT "Use ";:COLOR 15:PRINT "F7 ";:COLOR 7:PRINT "if printout desired"
  240. 31180 PRINT "Depress ";:COLOR 15,0:PRINT "F8 ";:COLOR 7:PRINT "for ";
  241. 31190 COLOR 15:PRINT"Telephone/LOG-ON ";:COLOR 7:PRINT "menu":PRINT:RETURN
  242. 32000 LOCATE 24,1:FOR CLEER=0 TO 24:PRINT:NEXT CLEER:LGGR=0:TLN=9 'Max. 9
  243. 32010 X=FRE("x"):IF TLN=1 THEN TELE=1:GOTO 32160
  244. 32020 COLOR 15,0:PRINT "Enter ";:COLOR 7,0:PRINT "phone # ";:COLOR 15,0
  245. 32030 PRINT "selection ";:COLOR 7,0:PRINT "Depress ":COLOR 15
  246. 32040 PRINT "ESC";:COLOR 7:PRINT "ape to ";
  247. 32050 COLOR 15:PRINT "return ";:COLOR 7:PRINT "as a Terminal"
  248. 32060 PRINT:RESTORE 32320:FOR SELEC=1 TO TLN
  249. 32070 READ CPNY$,UL$,CTY$,TELCO$,GO,LOGIN$,IDPSW$:GOSUB 32090
  250. 32080 NEXT:PRINT:GOTO 32120
  251. 32090 COLOR 15,0:PRINT RIGHT$(STR$(SELEC),1);" ";:COLOR 7,0:GOSUB 32100:RETURN
  252. 32100 PRINT USING "\      \";CPNY$+" ";:PRINT UL$;" ";
  253. 32110 PRINT USING "\           \";CTY$+" ";TELCO$:RETURN
  254. 32120 DL$=INKEY$:TELE=VAL(DL$)
  255. 32130 IF DL$="" THEN GOSUB 33000:GOTO 32120
  256. 32140 IF DL$=CHR$(27) THEN GOSUB 32200:GOTO 3405
  257. 32150 IF (TELE<1) OR (TELE>TLN) THEN GOSUB 20400:GOTO 32120
  258. 32160 RESTORE 32320:FOR SELECT=1 TO TELE
  259. 32170 READ CPNY$,UL$,CTY$,TELCO$,GO,LOGIN$,IDPSW$:NEXT:IF NOT SMART GOTO 32270
  260. 32180 IF MPARM(17)=1 THEN UL$="ATDT"+UL$ ELSE UL$="ATDP"+UL$
  261. 32190 GOSUB 17590:GOSUB 32200:GOTO 32220
  262. 32200 LOCATE 24-(TLN+1),1,0:FOR CLEER=0 TO 24:PRINT STRING$(79," ")
  263. 32210 NEXT CLEER:LOCATE ,,1:RETURN
  264. 32220 COLOR 15,0:PRINT CPNY$;:COLOR 7,0
  265. 32230 PRINT " is being called via ";:COLOR 15,0:PRINT TELCO$:COLOR 7,0
  266. 32240 PRINT "To redial, Depress ";:COLOR 15,0:PRINT "HOME ";
  267. 32250 COLOR 7,0:PRINT "and ";:COLOR 15,0:PRINT "F8 ";
  268. 32260 COLOR 7,0:PRINT "and Redo":PRINT:GOTO 32280
  269. 32270 GOSUB 32200:PRINT"Place Call to "+CPNY$+" via "+TELCO$:PRINT"Ph. # "+UL$
  270. 32280 PRINT "Operating as "+TMSL$+" Terminal":PRINT"After CONNECT, use ";:COLOR 15
  271. 32290 PRINT"F8 ";:COLOR 7:PRINT "to ";:COLOR 15:PRINT "LOG-ON.":COLOR 7:PRINT
  272. 32300 ON ERROR GOTO 3440:IF IPRR THEN LPRINT CPNY$+" being called via ";TELCO$
  273. 32310 ON ERROR GOTO 0:INIT=FALSE:UL$="":RETURN
  274. 32320 DATA SOURCE,986-9503,Van Nuys,TYMNET,1,SOURCE11;PRIM;,ID TCA123 PASWRD
  275. 32330 DATA SOURCE,986-9803,Van Nuys,TYMNET,1,SOURCE11;PRIM;,ID TCA123 PASWRD
  276. 32340 DATA SOURCE,365-9277,Mission Hls,TYMNET,1,SOURCE11;PRIM;,ID TCA123 PASWRD
  277. 32350 DATA SOURCE,998-3331,Northridge,TYMNET,1,SOURCE13;PRIM;,ID TCA123 PASWRD -ON SYS11
  278. 32360 DATA SOURCE,992-0144,Woodland Hls,TELENET,2,C 30138,ID TCA123 PASWRD
  279. 32370 DATA SOURCE,822-9287,Canoga Park,TELENET,2,C 30138,ID TCA123 PASWRD
  280. 32380 DATA CSERVE,892-7211,Van Nuys,CSERVE,3,"77000,1100",PASS/WORD
  281. 32390 DATA CSERVE,781-8439,San Fernando,CSERVE,3,"77000,1100",PASS/WORD
  282. 32400 DATA CSERVE,365-2013,Mission Hls,TYMNET,4,"77000,1100",PASS/WORD
  283. 32410 DATA CSERVE,998-4872,Northridge,TYMNET,4,"77000,1100",PASS/WORD
  284. 32420 IF LGGR<>0 GOTO 32510 ELSE ON GO GOTO 32430,32440,32450,32460,32470,32500
  285. 32430 UUL$="A":GOSUB 32570:LGGR=1:RETURN
  286. 32440 UUL$=CHR$(13):GOSUB 32570:FOR D2LY=0 TO 500:NEXT:GOSUB 32570:GO=6:RETURN
  287. 32450 UUL$=CHR$(3):GOSUB 32570:LGGR=1:RETURN
  288. 32460 UUL$="A":GOSUB 32570:GO=GO+1:RETURN
  289. 32470 PRINT "Type CIS02 and ENTER for non-prime time"
  290. 32480 PRINT "Type CPS01 and ENTER for prime time use":PRINT
  291. 32490 PRINT "Use F8 key for rest of LOG-ON":LGGR=1:RETURN
  292. 32500 UL$="D1":GOSUB 17590:LGGR=1:RETURN
  293. 32510 ON LGGR GOTO 32520,32530,32540,32550
  294. 32520 UL$=LOGIN$:GOSUB 17590:LGGR=LGGR+1:RETURN
  295. 32530 UL$=IDPSW$:GOSUB 17590:LGGR=LGGR+1:RETURN
  296. 32540 E%=0:ERM$(0)="ERROR * Use ALT H for F8 Help Menu":GOSUB 3600:RETURN
  297. 32550 PRINT "DISCONNECTING":UUL$="+++":GOSUB 32570:FOR D2LY=0 TO 3000:NEXT
  298. 32560 UL$="ATH":GOSUB 17590:LGGR=0:INIT=TRUE:RETURN
  299. 32570 CALL SN(C%,UUL$,E%):IF E%>-1 THEN GOSUB 3600 ELSE RETURN
  300. 32580 PRINT :PRINT :COLOR 15:PRINT"  Telephone/LOG-ON Help Menu":COLOR 7:PRINT
  301. 32590 COLOR 15:PRINT "HOME ";:COLOR 7:PRINT "- Enables F8 from the beginning"
  302. 32600 PRINT "       telephone dialup menu.":PRINT
  303. 32610 COLOR 15:PRINT "F8   ";:COLOR 7:PRINT "- After dialup, Depress F8 "
  304. 32620 PRINT "       in response to LOG-ON requests.":PRINT
  305. 32630 COLOR 15:PRINT CHR$(27)+"--  ";:COLOR 7:PRINT "- Cursor left  (Numeric 4)
  306. 32640 PRINT "       Return to previous entry,"
  307. 32650 PRINT "       using Function Key F8.":PRINT
  308. 32660 COLOR 15:PRINT "END  ";:COLOR 7:PRINT "- Enables last entry using F8"
  309. 32670 PRINT "       (Hang up the phone)":PRINT :PRINT :RETURN
  310. 33000 IF VAL(MID$(TIME$,4,2))=TME THEN RETURN
  311. 33010 IF MPARM(5)<>2 THEN RETURN
  312. 33020 ITEM=POS(X):ICSR=CSRLIN:CLMN=IWT-(LEN(TIME$)+LEN(DATE$)+17)
  313. 33030 TMME$=LEFT$(TIME$,5):TME=VAL(RIGHT$(TMME$,2))
  314. 33040 HOUR=VAL(LEFT$(TMME$,2)):IF HOUR=0 THEN HOUR=12:APM$="AM ":GOTO 33070
  315. 33050 IF HOUR>12 THEN HOUR=HOUR-12:APM$="PM ":GOTO 33070
  316. 33060 IF HOUR=12 THEN APM$="PM " ELSE APM$="AM "
  317. 33070 HR$=STR$(HOUR):TMME$=HR$+RIGHT$(TMME$,3)+APM$
  318. 33080 LOCATE 25,CLMN,0:COLOR 15,0:PRINT USING "\\";HXL$;:PRINT USING "\\";PTR$;
  319. 33090 COLOR UNTSY:PRINT USING "\\";ULN$;:COLOR DNTSY:PRINT USING "\\";DLN$;
  320. 33100 COLOR 7,0:PRINT "F5=HELP ";:IF NOT NTME THEN PRINT TMME$;
  321. 33110 IF LEFT$(DATE$,2)<>"00" THEN PRINT DATE$;
  322. 33120 LOCATE ICSR,ITEM,1:RETURN
  323. 34000 GOSUB 34050:GOSUB 34040:CLS:NEW
  324. 34010 GOSUB 34050:PRINT "Insert DOS diskette in default drive"
  325. 34020 PRINT "Depress any key when ready"
  326. 34030 K$=INKEY$:IF K$="" THEN 34030 ELSE GOSUB 34040:SYSTEM
  327. 34040 CLOSE:OPEN "COM1:" AS 1:RETURN
  328. 34050 CLS:PRINT "TERMINATING COMM. PROGRAM"
  329. 34060 PRINT "ARE YOU SURE(Y/N)?"
  330. 34070 K$=INKEY$:IF K$="" THEN 34070
  331. 34080 IF K$="Y" OR K$="y" THEN RETURN
  332. 34090 IF K$="N" OR K$="n" THEN 2800
  333. 34100 GOSUB 20400:GOTO 34070
  334. 35000 IQ=MPARM(16):IF IQ=0 THEN RETURN
  335. 35010 ON IQ GOTO 35020,35040
  336. 35020 WIDTH 40:LOCATE ,,0:CLS:DEF SEG=0:A=PEEK(&H410):POKE &H410, A OR &H30
  337. 35030 WIDTH 80:IWT=80:LOCATE 1,1,0,12,13:RETURN
  338. 35040 LOCATE ,,0:CLS:DEF SEG=0:A=PEEK(&H410):POKE &H410,(A AND &HCF) OR &H20
  339. 35050 SCREEN 1:SCREEN 0:WIDTH VDO:IWT=VDO:LOCATE ,,0,6,7:RETURN
  340.